package com.supor.aiot.common.entity;

import java.io.Serializable;

/**
 * ---------------------------------------------------------------- <br>
 * Copyright (C) 2014-2020, by het, Shenzhen, All rights reserved.  <br>
 * ---------------------------------------------------------------- <br>
 * <p>
 * 描述: 公共协议 <br>
 * 作者: lei <br>
 * 日期: 2021/7/16 <br>
 */
public abstract class BaseDeviceData implements Serializable {
    /**
     * 设备工作状态：0-已离线|1-已关机|2-待机中|3-工作中
     */
    // public int status;


    /************************全局公共*****************************/

    /**
     * 品类编码: 按照品类编码标识，多功能压力锅/主厨料理机EPC(10字节)
     */
    public String productType;
    /**
     * 设备型号编码: 型号标识，多功能压力锅/主厨料理机SY-50MT01(10字节)
     */
    public String productModel;
    /**
     * 配网方式（FA/APP）: 初次绑定成功后FA或App调PaaS接口进行赋值。0:默认；1：APP配网；2：FA配网(1字节)
     */
    public int wifiType;
    /**
     * 防串货码: 上位机获取防串货码(20字节)
     */
    // public String antiCollusionCode;
    /**
     * 启动开关状态: 主机按键控制，上位机显示/可设置/作为全局公共功能。
     */
    public boolean onOffStatus;
    /**
     * 网络强度: RSSI数值，通过wifi固件API获取，获取的数值范围为0-120，展示时候转为负值，单位dBm(255)
     */
    public int netDbm;
    /**
     * 模块IP: (16字节)
     */
    // public String ip;
    /**
     * 当前每日食谱个数: 网络食谱坑位数量，目前定义最大为6个。电控根据当前坑位数进行更新。(255)
     */
    public int dailyRecipesCnt;
    /**
     * 产品配置版本信息: 0：低配版本，不带烘烤盖|1：高配版本，全配置
     */
    public boolean machineVer;
    /**
     * 产品ID: 产品ID，MY85上报B001，MY88上报B002
     */
    public String productID;
    /**
     * 童锁（预留）: 儿童锁预留
     */
    public boolean childLock;


    /************************公共*****************************/
    /**
     * 本机忙闲标志位: 0,App可以控制设备；1，App不可以控制设备，由电控控制变化
     */
    public boolean busyFlag;
    /**
     * 当前工作状态
     */
    // public int machineStatus;
    /**
     * 本机存储云食谱ID: 字节0-3对应坑位0,4-7对应坑位1,8-11对应坑位2,以此类推
     */
    // public int[] machineSavedRecipesID;
    /**
     * 当前食谱ID: 0-300：本机食谱（对应存储标号）300以后：云食谱
     */
    // public int recipeID;
    /**
     * 当前食谱名称: 当前只读食谱名称
     */
    public String recipeName;
    /**
     * 当前食谱步骤号: 当前运行食谱所处步骤
     */
    public int recipeStepNum;
    /**
     * 当前食谱总步骤数: 当前运行食谱总步骤数
     */
    public int totalRecipeStepNum;
    /**
     * 烹饪类型: "主机工作状态：
     * 0：待机
     * 1：本机食谱制作中：进入食谱启动后状态
     * 2：云食谱制作中：进入云食谱启动后状态
     * 3：快捷功能制作中
     * 4：DIY功能制作中"
     */
    public int contextState;
    /**
     * 设定温度: 最高220 设定目标温度
     */
    public int setTempValue;
    /**
     * 实时温度（腔体温度）: 当前设备腔体实时温度
     */
    public int realTempValue;
    /**
     * 烹饪模式:
     */
    // public String workStatus;
    /**
     * 剩余工作时间(分钟)
     */
    public int workTime;

    // public String r1;
    // public String r2;
    // public String r3;

    public BaseDeviceData() {

    }

}
